package com.baidu.tcpDemo1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
    public static void main(String[] args) throws Exception {
        //1.创建服务端socket
        ServerSocket serverSocket = new ServerSocket(9999);

        //2.使用accept 等待客户端的链接请求 建立socket链接
        Socket socket = serverSocket.accept();

        //3.使用socket链接获取输入流
        InputStream inputStream = socket.getInputStream();

        //4.使用高级的流包装低级流 这里是字符消息 可以使用字符转换流将字节流转换成字符流
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);

        //5.然后使用缓冲字符流来包装转换后的字符流 为了使用缓冲字符流的nextLine方法
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

        //5.使用inputStreamReader的读取行方法 来读取数据
        String msg;
        while ((msg = bufferedReader.readLine()) != null){
            System.out.println(socket.getInetAddress().getHostAddress() + "发来消息:" + msg);
        }

    }
}
